home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / lib / mkmf / RCS / mkmf.script,v < prev    next >
Encoding:
Text File  |  1991-04-11  |  4.5 KB  |  279 lines

  1. head     1.10;
  2. branch   ;
  3. access   ;
  4. symbols  ;
  5. locks    ; strict;
  6. comment  @@;
  7.  
  8.  
  9. 1.10
  10. date     91.04.11.12.53.31;  author kupfer;  state Exp;
  11. branches ;
  12. next     1.9;
  13.  
  14. 1.9
  15. date     90.04.13.14.32.26;  author douglis;  state Exp;
  16. branches ;
  17. next     1.8;
  18.  
  19. 1.8
  20. date     89.10.09.21.28.15;  author rab;  state Exp;
  21. branches ;
  22. next     1.7;
  23.  
  24. 1.7
  25. date     89.08.18.11.21.39;  author douglis;  state Exp;
  26. branches ;
  27. next     1.6;
  28.  
  29. 1.6
  30. date     89.08.17.11.16.01;  author douglis;  state Exp;
  31. branches ;
  32. next     1.5;
  33.  
  34. 1.5
  35. date     89.04.06.21.40.24;  author jhh;  state Exp;
  36. branches ;
  37. next     1.4;
  38.  
  39. 1.4
  40. date     88.12.28.14.46.02;  author ouster;  state Exp;
  41. branches ;
  42. next     1.3;
  43.  
  44. 1.3
  45. date     88.11.27.16.28.34;  author ouster;  state Exp;
  46. branches ;
  47. next     1.2;
  48.  
  49. 1.2
  50. date     88.11.10.15.13.53;  author ouster;  state Exp;
  51. branches ;
  52. next     1.1;
  53.  
  54. 1.1
  55. date     88.10.31.14.31.59;  author douglis;  state Exp;
  56. branches ;
  57. next     ;
  58.  
  59.  
  60. desc
  61. @program to generate makefile for shell scripts in cmds/admin areas.
  62. @
  63.  
  64.  
  65. 1.10
  66. log
  67. @Flush DEFTARGET: the default target is now determined by a pmake
  68. library file.
  69. @
  70. text
  71. @#!/sprite/cmds/csh -f
  72. #
  73. # A script to generate (or regenerate) the Makefile for a directory
  74. # consisting solely of a shell script.
  75. #
  76. # We assume we were invoked from mkmf.  Parameters passed in from mkmf
  77. # through environment variables:
  78. #
  79. #    MKMFDIR        directory containing prototype makefiles
  80. #    MAKEFILE    name of makefile to create
  81. #    SUBTYPE        additional information, telling whether this
  82. #            is an X directory, Sprite directory, etc.
  83. #
  84.  
  85. #
  86. # Argument processing.  (Generalized form, even though just one flag so far.)
  87. #
  88. while ($#argv >= 1)
  89.     if ("$1" == '-x') then
  90.     set echo
  91.     endif
  92.     shift
  93. end
  94.  
  95. set subtype=$SUBTYPE
  96. set prog=$cwd:t
  97. set machines=`grep -v "^#" /sprite/admin/machineTypes`
  98. set makefile=$MAKEFILE
  99. set distdir=($DISTDIR)
  100.  
  101. if (-e $makefile.proto) then
  102.     set proto=$makefile.proto
  103. else
  104.     set proto="${MKMFDIR}/Makefile.script"
  105. endif
  106.  
  107. echo "Generating $makefile for $prog using $proto"
  108.  
  109. set nonomatch
  110. set manPages = (*.man)
  111. if ("$manPages" == "*.man") then
  112.     set manPages = ()
  113. endif
  114. unset nonomatch
  115.  
  116. cat $proto | sed \
  117.     -e "s,@@(DATE),`date`,g" \
  118.     -e "s,@@(MACHINES),$machines,g" \
  119.     -e "s,@@(MAKEFILE),$makefile,g" \
  120.     -e "s,@@(MANPAGES),$manPages,g" \
  121.     -e "s,@@(NAME),$prog,g" \
  122.     -e "s,@@(TEMPLATE),$proto,g" \
  123.     -e "s,@@(TYPE),$subtype,g" \
  124.     -e "s,@@(DISTDIR),$distdir,g" \
  125.     > $makefile
  126. @
  127.  
  128.  
  129. 1.9
  130. log
  131. @default DEFTARGET to current machine.
  132. @
  133. text
  134. @a8 1
  135. #    DEFTARGET    name of default target
  136. a45 5
  137. set defTarget=($DEFTARGET)
  138. # We're probably called with DEFTARGET empty, in which case it should default
  139. # to the current machine.
  140. if ("$defTarget" == "") set defTarget='\$(MACHINE)'
  141.  
  142. a47 1
  143.     -e "s,@@(DEFTARGET),${defTarget:q},g" \
  144. @
  145.  
  146.  
  147. 1.8
  148. log
  149. @Modifications for distribution.
  150. @
  151. text
  152. @d48 3
  153. @
  154.  
  155.  
  156. 1.7
  157. log
  158. @another change for TM -- use single machine if it exists, else \ds3100
  159. @
  160. text
  161. @d30 1
  162. d58 1
  163. @
  164.  
  165.  
  166. 1.6
  167. log
  168. @removed DEFTARGET -- we use $MACHINE now
  169. @
  170. text
  171. @d9 1
  172. d46 1
  173. d50 1
  174. @
  175.  
  176.  
  177. 1.5
  178. log
  179. @added abilty to make specific machine types
  180. @
  181. text
  182. @a8 1
  183. #    DEFTARGET    name of default target
  184. a44 1
  185. set defTarget=($DEFTARGET)
  186. a47 1
  187.     -e "s,@@(DEFTARGET),$defTarget,g" \
  188. @
  189.  
  190.  
  191. 1.4
  192. log
  193. @Change to use TYPE instead of INSTALLMAN and INSTALLDIR.
  194. @
  195. text
  196. @d9 1
  197. d46 1
  198. a46 5
  199. if (" $machines " =~ *\ sun3\ *) then
  200.     set defTarget=sun3
  201. else
  202.     set defTarget=$machines[1]
  203. endif
  204. @
  205.  
  206.  
  207. 1.3
  208. log
  209. @Various changes to replace old C library entirely with new C library.
  210. @
  211. text
  212. @a25 25
  213. switch ($subtype)
  214.     case sprite:
  215.     set installdir=/sprite/cmds
  216.     set installman=/sprite/doc/ref/cmds
  217.     breaksw
  218.     case daemon:
  219.     set installdir=/sprite/daemons
  220.     set installman=/sprite/doc/ref/daemons
  221.     breaksw
  222.     case test:
  223.     set installdir=/sprite/tests
  224.     set installman=/sprite/doc/ref/tests
  225.     breaksw
  226.     case admin:
  227.     set installdir=/sprite/admin
  228.     set installman=/sprite/doc/ref/admin
  229.     breaksw
  230.     case x:
  231.     set installdir=/X/cmds
  232.     set installman=/X/doc/ref/cmds
  233.     breaksw
  234.     default:
  235.     echo Unknown command script subtype "$subtype"
  236.     exit 1
  237. endsw
  238. a53 2
  239.     -e "s,@@(INSTALLDIR),$installdir,g" \
  240.     -e "s,@@(INSTALLMAN),$installman,g" \
  241. d59 1
  242. @
  243.  
  244.  
  245. 1.2
  246. log
  247. @Final change for new C library:  added man page stuff, etc.
  248. @
  249. text
  250. @d52 1
  251. a52 1
  252. set machines=`grep -v "^#" /sprite/admin/MachineTypes`
  253. d84 3
  254. a86 2
  255.     -e "s,@@(PROGRAM),$prog,g" \
  256.     -e "s,@@(TEMPLATE),$proto,g" > $makefile
  257. @
  258.  
  259.  
  260. 1.1
  261. log
  262. @Initial revision
  263. @
  264. text
  265. @d29 1
  266. d31 8
  267. d41 1
  268. d43 4
  269. d63 13
  270. d77 4
  271. a80 1
  272.     -e "s,@@(PROGRAM),$prog,g" \
  273. d83 3
  274. a85 3
  275.     -e "s,@@(TEMPLATE),$proto,g" \
  276.     -e "s,@@(DATE),`date`,g" \
  277.     -e "s,@@(INSTALLDIR),$installdir,g" > $makefile
  278. @
  279.